Software today is developed by authors who represent both large software companies and independent programmers. Both types of authors, however, are faced with problems associated with marketing their software, and with limiting the use of the software to only authorized users.
In a direct-marketing system, an author markets software directly to the user via a computer network, such as the internet for example. Typically, a large software company distributes demonstration copies of commercial software products and invites the user to test the software. If the user is satisfied, the user sends a payment to the company in return for the commercial version of the software. Independent programmers, in contrast, often distribute what is known as shareware, in which the user is allowed to test software that is typically a smaller, but fully functioning version of a commercial program. If the user is satisfied, the user is requested to pay the programmer a fraction of the cost of the commercial product in return for technical support and documentation.
Providing the user with demonstration software or providing the software without documentation prior to payment is an attempt by the author to restrict users who have not paid from using the software. To prevent unauthorized copying, the author could send the software to the users in encrypted form and require the user to send for a key in order to unlock the software. However, after the user has received the key and unlocked the software, the user may distribute the software to others, and the author has no way of knowing which users have been formally authorized.
Another problem is that no matter whether the author is a large company or an independent programmer, direct-marketing becomes too burdensome for the author as the number of user's continue to grow. Instead, it is more advantageous for the author to take advantage of traditional multitier distribution chains.
Multitier distribution chains typically include a distributor or reseller who sells copies of the software for the author. Examples of a distributor include mail-order houses and computer bulletin boards, for instance. Most often, the distributor provides the software to the user in a box that identifies the distributor. The buyer then sends payment to the author along with the identity of the distributor; and the author, in turn, pays a commission to the distributor. Optionally, the buyer pays the distributor, who then pays the author a royalty.
The problem with conventional multitier distribution chains is that the distributor must trust the author to pay the commissions, or the author must trust the distributor to pay the royalties. In either case, neither party has a mechanism to ensure payment. In addition, the distributor or the user may provide copies of the software to others. Even if the user is required to obtain a key, once the software is unlocked and distributed to other users, the author has no mechanism to distinguish authorized users from unauthorized users.
Accordingly, what is needed is an improved system and method for controlling distribution of software in a multitiered distribution chain that enables the author to distinguish between authorized and unauthorized users. The present invention addresses such a need.